#ifndef __BOARD_H__
#define __BOARD_H__

#include "heap.h"
#include "tick.h"
#include "thread.h"

#include "stm32h7xx_hal.h"

#ifdef __cplusplus
extern "C" {
#endif

#define SYSTEM_HEAP_BEGIN 0x24000000
#define SYSTEM_HEAP_END   (SYSTEM_HEAP_BEGIN + 0x80000 - 1)

#define DMA_HEAP_BEGIN 0x38000000
#define DMA_HEAP_END   (DMA_HEAP_BEGIN + 0x8000 - 1)

void Error_Handler(void);
void assert_failed(uint8_t *file, uint32_t line);
mt_err_t cpu_init(void);
mt_err_t board_init(void);
void SysTick_Handler(void);

#ifdef __cplusplus
}
#endif

#endif
